package main

import "fmt"

/*
最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀，返回空字符串 ""。

示例 1：
输入：strs = ["flower","flow","flight"]
输出："fl"
示例 2：

输入：strs = ["dog","racecar","car"]
输出：""
解释：输入不存在公共前缀。
 */

func longestCommonPrefix(strs []string) string {
	if strs == nil {
		return ""
	}
	if len(strs) == 0 {
		return ""
	}
	if len(strs) == 1 {
		return strs[0]
	}
	res := ""
	temp := false  // 如果不连续 则跳出循环
	for i := 0; i < len(strs[0]); i ++ {  // 遍历第一个字符串
		flag := 1  // 用来标志每个字符串都被判断过
		for j := 1; j < len(strs); j ++ {
			if i < len(strs[j]) && strs[0][i] == strs[j][i] {
				flag ++
				continue
			}
			temp = true
		}
		if temp {
			break
		}
		if flag == len(strs) {
			res += string(strs[0][i])
		}
	}

	return res
}

func main() {
	fmt.Println(longestCommonPrefix([]string{"cir","car"}))
}
